<!--flash??-->

if(typeof com=="undefined"){
	var com=new Object();

}
if(typeof com.deconcept=="undefined")
	com.deconcept=new Object();

if(typeof com.deconcept.util=="undefined")
com.deconcept.util=new Object();

if(typeof com.deconcept.FlashObjectUtil=="undefined")
com.deconcept.FlashObjectUtil=new Object();

com.deconcept.FlashObject=function(swf,id,w,h,ver,c,useExpressInstall,quality,xiRedirectUrl,redirectUrl,detectKey)
{
	if(!document.createElement||!document.getElementById)
	return;

	this.DETECT_KEY=detectKey?detectKey:'detectflash';

	this.skipDetect=com.deconcept.util.getRequestParameter(this.DETECT_KEY);

	this.params=new Object();

	this.variables=new Object();

	this.attributes=new Array();

	this.useExpressInstall=useExpressInstall;

	if(swf)
	this.setAttribute('swf',swf);

	if(id)
	this.setAttribute('id',id);

	if(w)
	this.setAttribute('width',w);

	if(h)
	this.setAttribute('height',h);

	if(ver)
	this.setAttribute('version',new com.deconcept.PlayerVersion(ver.toString().split(".")));

	this.installedVer=com.deconcept.FlashObjectUtil.getPlayerVersion(this.getAttribute('version'),useExpressInstall);

	if(c)
	this.addParam('bgcolor',c);

	var q=quality?quality:'high';

	this.addParam('quality',q);

	var xir=(xiRedirectUrl)?xiRedirectUrl:window.location;

	this.setAttribute('xiRedirectUrl',xir);
	this.setAttribute('redirectUrl','');
	if(redirectUrl)
	this.setAttribute('redirectUrl',redirectUrl)};
	com.deconcept.FlashObject.prototype={
		setAttribute:function(name,value){
			this.attributes[name]=value
		},
		getAttribute:function(name){
			return this.attributes[name]
		},
		addParam:function(name,value){
			this.params[name]=value
		},
		getParams:function(){
			return this.params
		},
		addVariable:function(name,value){
			this.variables[name]=value
		},
		getVariable:function(name){
			return this.variables[name]
		},
		getVariables:function(){
			return this.variables
		},
		createParamTag:function(n,v){
			var p=document.createElement('param');
			p.setAttribute('name',n);
			p.setAttribute('value',v);
			return p
		},
		getVariablePairs:function(){
			var variablePairs=new Array();
			var key;
			var variables=this.getVariables();
			for(key in variables){
				variablePairs.push(key+"="+variables[key])
			}
			return variablePairs
		},
		getFlashHTML:function(){
			var flashNode="";
			if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
				if(this.getAttribute("doExpressInstall"))
					this.addVariable("MMplayerType","PlugIn");
				flashNode='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'"';
				flashNode+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';
				var params=this.getParams();
				for(var key in params){
					flashNode+=[key]+'="'+params[key]+'" '
				}
				var pairs=this.getVariablePairs().join("&");
				if(pairs.length>0){
					flashNode+='flashvars="'+pairs+'"'
				}
				flashNode+='/>'
			}else{
				if(this.getAttribute("doExpressInstall"))
					this.addVariable("MMplayerType","ActiveX");
				flashNode='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'">';
				flashNode+='<param name="movie" value="'+this.getAttribute('swf')+'" />';
				var params=this.getParams();
				for(var key in params){
					flashNode+='<param name="'+key+'" value="'+params[key]+'" />'
				}
				var pairs=this.getVariablePairs().join("&");
				if(pairs.length>0){
					flashNode+='<param name="flashvars" value="'+pairs+'" />'
				}
				flashNode+="</object>"
			}
			return flashNode
		},
		write:function(elementId){
			if(this.useExpressInstall){
				var expressInstallReqVer=new com.deconcept.PlayerVersion([6,0,65]);
				if(this.installedVer.versionIsValid(expressInstallReqVer)&&!this.installedVer.versionIsValid(this.getAttribute('version'))){
					this.setAttribute('doExpressInstall',true);
					this.addVariable("MMredirectURL",escape(this.getAttribute('xiRedirectUrl')));
					document.title=document.title.slice(0,47)+" - Flash Player Installation";
					this.addVariable("MMdoctitle",document.title)
				}
			}else{
				this.setAttribute('doExpressInstall',false)
			}
			if(this.skipDetect||this.getAttribute('doExpressInstall')||this.installedVer.versionIsValid(this.getAttribute('version'))){
				var n=(typeof elementId=='string')?document.getElementById(elementId):elementId;
				n.innerHTML=this.getFlashHTML()
			}else{
				if(this.getAttribute('redirectUrl')!=""){
					document.location.replace(this.getAttribute('redirectUrl'))
				}
			}
		}
	};
	com.deconcept.FlashObjectUtil.getPlayerVersion=function(reqVer,xiInstall){
		var PlayerVersion=new com.deconcept.PlayerVersion(0,0,0);
		if(navigator.plugins&&navigator.mimeTypes.length){
			var x=navigator.plugins["Shockwave Flash"];
			if(x&&x.description){
				PlayerVersion=new com.deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))
			}
		}else{
			try{
				var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				for(var i=3;axo!=null;i++){
					axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
					PlayerVersion=new com.deconcept.PlayerVersion([i,0,0])
				}
			}catch(e){
			}
			if(reqVer&&PlayerVersion.major>reqVer.major)
				return PlayerVersion;
			if(!reqVer||((reqVer.minor!=0||reqVer.rev!=0)&&PlayerVersion.major==reqVer.major)||PlayerVersion.major!=6||xiInstall){
				try{
					PlayerVersion=new com.deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","))
				}catch(e){
				
				}
			}
		}
		return PlayerVersion
	};
	com.deconcept.PlayerVersion=function(arrVersion){
		this.major=parseInt(arrVersion[0])||0;
		this.minor=parseInt(arrVersion[1])||0;
		this.rev=parseInt(arrVersion[2])||0
	};
	com.deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
		if(this.major<fv.major)return false;
		if(this.major>fv.major)return true;
		if(this.minor<fv.minor)return false;
		if(this.minor>fv.minor)return true;
		if(this.rev<fv.rev)return false;
		return true
	};
	com.deconcept.util={getRequestParameter:function(param){
		var q=document.location.search||document.location.href.hash;
		if(q){
			var startIndex=q.indexOf(param+"=");
		var endIndex=(q.indexOf("&",startIndex)>-1)?q.indexOf("&",startIndex):q.length;
		if(q.length>1&&startIndex>-1){return q.substring(q.indexOf("=",startIndex)+1,endIndex)}}return""}};
		if(Array.prototype.push==null){Array.prototype.push=function(item){this[this.length]=item;
		return this.length
	}
}
var getQueryParamValue=com.deconcept.util.getRequestParameter;
var sinaFlash=com.deconcept.FlashObject;
	
